package org.example.struct.array;

/**
 * @author liyishan
 * @date 2023/12/28 09:59
 * @apiNote
 */

public class M0801WaysToStep {

    public int waysToStep(int n) {
        if(n <= 2){
            return n;
        }
        int[] dp = new int[n+1];
        dp[1] = 1;
        dp[2] = 2;
        dp[3] = 4;
        for(int i = 4;i<=n;i++){
            dp[i] = (dp[i-3] + (dp[i-2] + dp[i-1])%1000000007)%1000000007;
        }
        return dp[n];
    }
}
